package entity;

import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Embeddable;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name = "OrdenesCompra")
@Embeddable
public class OrdenCompraBD {

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Integer numero;

	private Date fecha;

	@Embedded
	@OneToOne
	@JoinColumn(name = "idProveedor")
	private ProveedorBD proveedor;

	private String estado;

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
	@JoinColumn(name = "numero")
	private List<ItemOrdenCompraBD> items;

	public OrdenCompraBD() {
	}

	public Integer getIdOrdenCompra() {
		return numero;
	}

	public void setIdOrdenCompra(Integer idOrdenCompra) {
		this.numero = idOrdenCompra;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public Date getFecha() {
		return fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	public List<ItemOrdenCompraBD> getItems() {
		return items;
	}

	public void setItems(List<ItemOrdenCompraBD> items) {
		this.items = items;
	}

	public ProveedorBD getProveedor() {
		return proveedor;
	}

	public void setProveedor(ProveedorBD proveedor) {
		this.proveedor = proveedor;
	}

}
